package com.bbs.example;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class UserInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public UserInfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIDIsNull() {
            addCriterion("ID is null");
            return (Criteria) this;
        }

        public Criteria andIDIsNotNull() {
            addCriterion("ID is not null");
            return (Criteria) this;
        }

        public Criteria andIDEqualTo(Integer value) {
            addCriterion("ID =", value, "ID");
            return (Criteria) this;
        }

        public Criteria andIDNotEqualTo(Integer value) {
            addCriterion("ID <>", value, "ID");
            return (Criteria) this;
        }

        public Criteria andIDGreaterThan(Integer value) {
            addCriterion("ID >", value, "ID");
            return (Criteria) this;
        }

        public Criteria andIDGreaterThanOrEqualTo(Integer value) {
            addCriterion("ID >=", value, "ID");
            return (Criteria) this;
        }

        public Criteria andIDLessThan(Integer value) {
            addCriterion("ID <", value, "ID");
            return (Criteria) this;
        }

        public Criteria andIDLessThanOrEqualTo(Integer value) {
            addCriterion("ID <=", value, "ID");
            return (Criteria) this;
        }

        public Criteria andIDIn(List<Integer> values) {
            addCriterion("ID in", values, "ID");
            return (Criteria) this;
        }

        public Criteria andIDNotIn(List<Integer> values) {
            addCriterion("ID not in", values, "ID");
            return (Criteria) this;
        }

        public Criteria andIDBetween(Integer value1, Integer value2) {
            addCriterion("ID between", value1, value2, "ID");
            return (Criteria) this;
        }

        public Criteria andIDNotBetween(Integer value1, Integer value2) {
            addCriterion("ID not between", value1, value2, "ID");
            return (Criteria) this;
        }

        public Criteria andUSER_CODEIsNull() {
            addCriterion("USER_CODE is null");
            return (Criteria) this;
        }

        public Criteria andUSER_CODEIsNotNull() {
            addCriterion("USER_CODE is not null");
            return (Criteria) this;
        }

        public Criteria andUSER_CODEEqualTo(String value) {
            addCriterion("USER_CODE =", value, "USER_CODE");
            return (Criteria) this;
        }

        public Criteria andUSER_CODENotEqualTo(String value) {
            addCriterion("USER_CODE <>", value, "USER_CODE");
            return (Criteria) this;
        }

        public Criteria andUSER_CODEGreaterThan(String value) {
            addCriterion("USER_CODE >", value, "USER_CODE");
            return (Criteria) this;
        }

        public Criteria andUSER_CODEGreaterThanOrEqualTo(String value) {
            addCriterion("USER_CODE >=", value, "USER_CODE");
            return (Criteria) this;
        }

        public Criteria andUSER_CODELessThan(String value) {
            addCriterion("USER_CODE <", value, "USER_CODE");
            return (Criteria) this;
        }

        public Criteria andUSER_CODELessThanOrEqualTo(String value) {
            addCriterion("USER_CODE <=", value, "USER_CODE");
            return (Criteria) this;
        }

        public Criteria andUSER_CODELike(String value) {
            addCriterion("USER_CODE like", value, "USER_CODE");
            return (Criteria) this;
        }

        public Criteria andUSER_CODENotLike(String value) {
            addCriterion("USER_CODE not like", value, "USER_CODE");
            return (Criteria) this;
        }

        public Criteria andUSER_CODEIn(List<String> values) {
            addCriterion("USER_CODE in", values, "USER_CODE");
            return (Criteria) this;
        }

        public Criteria andUSER_CODENotIn(List<String> values) {
            addCriterion("USER_CODE not in", values, "USER_CODE");
            return (Criteria) this;
        }

        public Criteria andUSER_CODEBetween(String value1, String value2) {
            addCriterion("USER_CODE between", value1, value2, "USER_CODE");
            return (Criteria) this;
        }

        public Criteria andUSER_CODENotBetween(String value1, String value2) {
            addCriterion("USER_CODE not between", value1, value2, "USER_CODE");
            return (Criteria) this;
        }

        public Criteria andUSER_NAMEIsNull() {
            addCriterion("USER_NAME is null");
            return (Criteria) this;
        }

        public Criteria andUSER_NAMEIsNotNull() {
            addCriterion("USER_NAME is not null");
            return (Criteria) this;
        }

        public Criteria andUSER_NAMEEqualTo(String value) {
            addCriterion("USER_NAME =", value, "USER_NAME");
            return (Criteria) this;
        }

        public Criteria andUSER_NAMENotEqualTo(String value) {
            addCriterion("USER_NAME <>", value, "USER_NAME");
            return (Criteria) this;
        }

        public Criteria andUSER_NAMEGreaterThan(String value) {
            addCriterion("USER_NAME >", value, "USER_NAME");
            return (Criteria) this;
        }

        public Criteria andUSER_NAMEGreaterThanOrEqualTo(String value) {
            addCriterion("USER_NAME >=", value, "USER_NAME");
            return (Criteria) this;
        }

        public Criteria andUSER_NAMELessThan(String value) {
            addCriterion("USER_NAME <", value, "USER_NAME");
            return (Criteria) this;
        }

        public Criteria andUSER_NAMELessThanOrEqualTo(String value) {
            addCriterion("USER_NAME <=", value, "USER_NAME");
            return (Criteria) this;
        }

        public Criteria andUSER_NAMELike(String value) {
            addCriterion("USER_NAME like", value, "USER_NAME");
            return (Criteria) this;
        }

        public Criteria andUSER_NAMENotLike(String value) {
            addCriterion("USER_NAME not like", value, "USER_NAME");
            return (Criteria) this;
        }

        public Criteria andUSER_NAMEIn(List<String> values) {
            addCriterion("USER_NAME in", values, "USER_NAME");
            return (Criteria) this;
        }

        public Criteria andUSER_NAMENotIn(List<String> values) {
            addCriterion("USER_NAME not in", values, "USER_NAME");
            return (Criteria) this;
        }

        public Criteria andUSER_NAMEBetween(String value1, String value2) {
            addCriterion("USER_NAME between", value1, value2, "USER_NAME");
            return (Criteria) this;
        }

        public Criteria andUSER_NAMENotBetween(String value1, String value2) {
            addCriterion("USER_NAME not between", value1, value2, "USER_NAME");
            return (Criteria) this;
        }

        public Criteria andUSER_PWDIsNull() {
            addCriterion("USER_PWD is null");
            return (Criteria) this;
        }

        public Criteria andUSER_PWDIsNotNull() {
            addCriterion("USER_PWD is not null");
            return (Criteria) this;
        }

        public Criteria andUSER_PWDEqualTo(String value) {
            addCriterion("USER_PWD =", value, "USER_PWD");
            return (Criteria) this;
        }

        public Criteria andUSER_PWDNotEqualTo(String value) {
            addCriterion("USER_PWD <>", value, "USER_PWD");
            return (Criteria) this;
        }

        public Criteria andUSER_PWDGreaterThan(String value) {
            addCriterion("USER_PWD >", value, "USER_PWD");
            return (Criteria) this;
        }

        public Criteria andUSER_PWDGreaterThanOrEqualTo(String value) {
            addCriterion("USER_PWD >=", value, "USER_PWD");
            return (Criteria) this;
        }

        public Criteria andUSER_PWDLessThan(String value) {
            addCriterion("USER_PWD <", value, "USER_PWD");
            return (Criteria) this;
        }

        public Criteria andUSER_PWDLessThanOrEqualTo(String value) {
            addCriterion("USER_PWD <=", value, "USER_PWD");
            return (Criteria) this;
        }

        public Criteria andUSER_PWDLike(String value) {
            addCriterion("USER_PWD like", value, "USER_PWD");
            return (Criteria) this;
        }

        public Criteria andUSER_PWDNotLike(String value) {
            addCriterion("USER_PWD not like", value, "USER_PWD");
            return (Criteria) this;
        }

        public Criteria andUSER_PWDIn(List<String> values) {
            addCriterion("USER_PWD in", values, "USER_PWD");
            return (Criteria) this;
        }

        public Criteria andUSER_PWDNotIn(List<String> values) {
            addCriterion("USER_PWD not in", values, "USER_PWD");
            return (Criteria) this;
        }

        public Criteria andUSER_PWDBetween(String value1, String value2) {
            addCriterion("USER_PWD between", value1, value2, "USER_PWD");
            return (Criteria) this;
        }

        public Criteria andUSER_PWDNotBetween(String value1, String value2) {
            addCriterion("USER_PWD not between", value1, value2, "USER_PWD");
            return (Criteria) this;
        }

        public Criteria andREMARKIsNull() {
            addCriterion("REMARK is null");
            return (Criteria) this;
        }

        public Criteria andREMARKIsNotNull() {
            addCriterion("REMARK is not null");
            return (Criteria) this;
        }

        public Criteria andREMARKEqualTo(String value) {
            addCriterion("REMARK =", value, "REMARK");
            return (Criteria) this;
        }

        public Criteria andREMARKNotEqualTo(String value) {
            addCriterion("REMARK <>", value, "REMARK");
            return (Criteria) this;
        }

        public Criteria andREMARKGreaterThan(String value) {
            addCriterion("REMARK >", value, "REMARK");
            return (Criteria) this;
        }

        public Criteria andREMARKGreaterThanOrEqualTo(String value) {
            addCriterion("REMARK >=", value, "REMARK");
            return (Criteria) this;
        }

        public Criteria andREMARKLessThan(String value) {
            addCriterion("REMARK <", value, "REMARK");
            return (Criteria) this;
        }

        public Criteria andREMARKLessThanOrEqualTo(String value) {
            addCriterion("REMARK <=", value, "REMARK");
            return (Criteria) this;
        }

        public Criteria andREMARKLike(String value) {
            addCriterion("REMARK like", value, "REMARK");
            return (Criteria) this;
        }

        public Criteria andREMARKNotLike(String value) {
            addCriterion("REMARK not like", value, "REMARK");
            return (Criteria) this;
        }

        public Criteria andREMARKIn(List<String> values) {
            addCriterion("REMARK in", values, "REMARK");
            return (Criteria) this;
        }

        public Criteria andREMARKNotIn(List<String> values) {
            addCriterion("REMARK not in", values, "REMARK");
            return (Criteria) this;
        }

        public Criteria andREMARKBetween(String value1, String value2) {
            addCriterion("REMARK between", value1, value2, "REMARK");
            return (Criteria) this;
        }

        public Criteria andREMARKNotBetween(String value1, String value2) {
            addCriterion("REMARK not between", value1, value2, "REMARK");
            return (Criteria) this;
        }

        public Criteria andCREATE_BYIsNull() {
            addCriterion("CREATE_BY is null");
            return (Criteria) this;
        }

        public Criteria andCREATE_BYIsNotNull() {
            addCriterion("CREATE_BY is not null");
            return (Criteria) this;
        }

        public Criteria andCREATE_BYEqualTo(String value) {
            addCriterion("CREATE_BY =", value, "CREATE_BY");
            return (Criteria) this;
        }

        public Criteria andCREATE_BYNotEqualTo(String value) {
            addCriterion("CREATE_BY <>", value, "CREATE_BY");
            return (Criteria) this;
        }

        public Criteria andCREATE_BYGreaterThan(String value) {
            addCriterion("CREATE_BY >", value, "CREATE_BY");
            return (Criteria) this;
        }

        public Criteria andCREATE_BYGreaterThanOrEqualTo(String value) {
            addCriterion("CREATE_BY >=", value, "CREATE_BY");
            return (Criteria) this;
        }

        public Criteria andCREATE_BYLessThan(String value) {
            addCriterion("CREATE_BY <", value, "CREATE_BY");
            return (Criteria) this;
        }

        public Criteria andCREATE_BYLessThanOrEqualTo(String value) {
            addCriterion("CREATE_BY <=", value, "CREATE_BY");
            return (Criteria) this;
        }

        public Criteria andCREATE_BYLike(String value) {
            addCriterion("CREATE_BY like", value, "CREATE_BY");
            return (Criteria) this;
        }

        public Criteria andCREATE_BYNotLike(String value) {
            addCriterion("CREATE_BY not like", value, "CREATE_BY");
            return (Criteria) this;
        }

        public Criteria andCREATE_BYIn(List<String> values) {
            addCriterion("CREATE_BY in", values, "CREATE_BY");
            return (Criteria) this;
        }

        public Criteria andCREATE_BYNotIn(List<String> values) {
            addCriterion("CREATE_BY not in", values, "CREATE_BY");
            return (Criteria) this;
        }

        public Criteria andCREATE_BYBetween(String value1, String value2) {
            addCriterion("CREATE_BY between", value1, value2, "CREATE_BY");
            return (Criteria) this;
        }

        public Criteria andCREATE_BYNotBetween(String value1, String value2) {
            addCriterion("CREATE_BY not between", value1, value2, "CREATE_BY");
            return (Criteria) this;
        }

        public Criteria andCREATE_DATEIsNull() {
            addCriterion("CREATE_DATE is null");
            return (Criteria) this;
        }

        public Criteria andCREATE_DATEIsNotNull() {
            addCriterion("CREATE_DATE is not null");
            return (Criteria) this;
        }

        public Criteria andCREATE_DATEEqualTo(Date value) {
            addCriterion("CREATE_DATE =", value, "CREATE_DATE");
            return (Criteria) this;
        }

        public Criteria andCREATE_DATENotEqualTo(Date value) {
            addCriterion("CREATE_DATE <>", value, "CREATE_DATE");
            return (Criteria) this;
        }

        public Criteria andCREATE_DATEGreaterThan(Date value) {
            addCriterion("CREATE_DATE >", value, "CREATE_DATE");
            return (Criteria) this;
        }

        public Criteria andCREATE_DATEGreaterThanOrEqualTo(Date value) {
            addCriterion("CREATE_DATE >=", value, "CREATE_DATE");
            return (Criteria) this;
        }

        public Criteria andCREATE_DATELessThan(Date value) {
            addCriterion("CREATE_DATE <", value, "CREATE_DATE");
            return (Criteria) this;
        }

        public Criteria andCREATE_DATELessThanOrEqualTo(Date value) {
            addCriterion("CREATE_DATE <=", value, "CREATE_DATE");
            return (Criteria) this;
        }

        public Criteria andCREATE_DATEIn(List<Date> values) {
            addCriterion("CREATE_DATE in", values, "CREATE_DATE");
            return (Criteria) this;
        }

        public Criteria andCREATE_DATENotIn(List<Date> values) {
            addCriterion("CREATE_DATE not in", values, "CREATE_DATE");
            return (Criteria) this;
        }

        public Criteria andCREATE_DATEBetween(Date value1, Date value2) {
            addCriterion("CREATE_DATE between", value1, value2, "CREATE_DATE");
            return (Criteria) this;
        }

        public Criteria andCREATE_DATENotBetween(Date value1, Date value2) {
            addCriterion("CREATE_DATE not between", value1, value2, "CREATE_DATE");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_BYIsNull() {
            addCriterion("MODIFIED_BY is null");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_BYIsNotNull() {
            addCriterion("MODIFIED_BY is not null");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_BYEqualTo(String value) {
            addCriterion("MODIFIED_BY =", value, "MODIFIED_BY");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_BYNotEqualTo(String value) {
            addCriterion("MODIFIED_BY <>", value, "MODIFIED_BY");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_BYGreaterThan(String value) {
            addCriterion("MODIFIED_BY >", value, "MODIFIED_BY");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_BYGreaterThanOrEqualTo(String value) {
            addCriterion("MODIFIED_BY >=", value, "MODIFIED_BY");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_BYLessThan(String value) {
            addCriterion("MODIFIED_BY <", value, "MODIFIED_BY");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_BYLessThanOrEqualTo(String value) {
            addCriterion("MODIFIED_BY <=", value, "MODIFIED_BY");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_BYLike(String value) {
            addCriterion("MODIFIED_BY like", value, "MODIFIED_BY");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_BYNotLike(String value) {
            addCriterion("MODIFIED_BY not like", value, "MODIFIED_BY");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_BYIn(List<String> values) {
            addCriterion("MODIFIED_BY in", values, "MODIFIED_BY");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_BYNotIn(List<String> values) {
            addCriterion("MODIFIED_BY not in", values, "MODIFIED_BY");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_BYBetween(String value1, String value2) {
            addCriterion("MODIFIED_BY between", value1, value2, "MODIFIED_BY");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_BYNotBetween(String value1, String value2) {
            addCriterion("MODIFIED_BY not between", value1, value2, "MODIFIED_BY");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_DATEIsNull() {
            addCriterion("MODIFIED_DATE is null");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_DATEIsNotNull() {
            addCriterion("MODIFIED_DATE is not null");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_DATEEqualTo(Date value) {
            addCriterion("MODIFIED_DATE =", value, "MODIFIED_DATE");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_DATENotEqualTo(Date value) {
            addCriterion("MODIFIED_DATE <>", value, "MODIFIED_DATE");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_DATEGreaterThan(Date value) {
            addCriterion("MODIFIED_DATE >", value, "MODIFIED_DATE");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_DATEGreaterThanOrEqualTo(Date value) {
            addCriterion("MODIFIED_DATE >=", value, "MODIFIED_DATE");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_DATELessThan(Date value) {
            addCriterion("MODIFIED_DATE <", value, "MODIFIED_DATE");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_DATELessThanOrEqualTo(Date value) {
            addCriterion("MODIFIED_DATE <=", value, "MODIFIED_DATE");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_DATEIn(List<Date> values) {
            addCriterion("MODIFIED_DATE in", values, "MODIFIED_DATE");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_DATENotIn(List<Date> values) {
            addCriterion("MODIFIED_DATE not in", values, "MODIFIED_DATE");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_DATEBetween(Date value1, Date value2) {
            addCriterion("MODIFIED_DATE between", value1, value2, "MODIFIED_DATE");
            return (Criteria) this;
        }

        public Criteria andMODIFIED_DATENotBetween(Date value1, Date value2) {
            addCriterion("MODIFIED_DATE not between", value1, value2, "MODIFIED_DATE");
            return (Criteria) this;
        }

        public Criteria andSORTNOIsNull() {
            addCriterion("SORTNO is null");
            return (Criteria) this;
        }

        public Criteria andSORTNOIsNotNull() {
            addCriterion("SORTNO is not null");
            return (Criteria) this;
        }

        public Criteria andSORTNOEqualTo(Integer value) {
            addCriterion("SORTNO =", value, "SORTNO");
            return (Criteria) this;
        }

        public Criteria andSORTNONotEqualTo(Integer value) {
            addCriterion("SORTNO <>", value, "SORTNO");
            return (Criteria) this;
        }

        public Criteria andSORTNOGreaterThan(Integer value) {
            addCriterion("SORTNO >", value, "SORTNO");
            return (Criteria) this;
        }

        public Criteria andSORTNOGreaterThanOrEqualTo(Integer value) {
            addCriterion("SORTNO >=", value, "SORTNO");
            return (Criteria) this;
        }

        public Criteria andSORTNOLessThan(Integer value) {
            addCriterion("SORTNO <", value, "SORTNO");
            return (Criteria) this;
        }

        public Criteria andSORTNOLessThanOrEqualTo(Integer value) {
            addCriterion("SORTNO <=", value, "SORTNO");
            return (Criteria) this;
        }

        public Criteria andSORTNOIn(List<Integer> values) {
            addCriterion("SORTNO in", values, "SORTNO");
            return (Criteria) this;
        }

        public Criteria andSORTNONotIn(List<Integer> values) {
            addCriterion("SORTNO not in", values, "SORTNO");
            return (Criteria) this;
        }

        public Criteria andSORTNOBetween(Integer value1, Integer value2) {
            addCriterion("SORTNO between", value1, value2, "SORTNO");
            return (Criteria) this;
        }

        public Criteria andSORTNONotBetween(Integer value1, Integer value2) {
            addCriterion("SORTNO not between", value1, value2, "SORTNO");
            return (Criteria) this;
        }

        public Criteria andSTATEIsNull() {
            addCriterion("STATE is null");
            return (Criteria) this;
        }

        public Criteria andSTATEIsNotNull() {
            addCriterion("STATE is not null");
            return (Criteria) this;
        }

        public Criteria andSTATEEqualTo(Integer value) {
            addCriterion("STATE =", value, "STATE");
            return (Criteria) this;
        }

        public Criteria andSTATENotEqualTo(Integer value) {
            addCriterion("STATE <>", value, "STATE");
            return (Criteria) this;
        }

        public Criteria andSTATEGreaterThan(Integer value) {
            addCriterion("STATE >", value, "STATE");
            return (Criteria) this;
        }

        public Criteria andSTATEGreaterThanOrEqualTo(Integer value) {
            addCriterion("STATE >=", value, "STATE");
            return (Criteria) this;
        }

        public Criteria andSTATELessThan(Integer value) {
            addCriterion("STATE <", value, "STATE");
            return (Criteria) this;
        }

        public Criteria andSTATELessThanOrEqualTo(Integer value) {
            addCriterion("STATE <=", value, "STATE");
            return (Criteria) this;
        }

        public Criteria andSTATEIn(List<Integer> values) {
            addCriterion("STATE in", values, "STATE");
            return (Criteria) this;
        }

        public Criteria andSTATENotIn(List<Integer> values) {
            addCriterion("STATE not in", values, "STATE");
            return (Criteria) this;
        }

        public Criteria andSTATEBetween(Integer value1, Integer value2) {
            addCriterion("STATE between", value1, value2, "STATE");
            return (Criteria) this;
        }

        public Criteria andSTATENotBetween(Integer value1, Integer value2) {
            addCriterion("STATE not between", value1, value2, "STATE");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}